Sawtooth waveforms, such as shown in FIG. 1, are used in a variety of electronic applications. They are used, for example, as sweep signals in cathode-ray television displays. A sawtooth waveform may also be combined with another waveform using a comparator to generate a pulse-width-modulated (PWM) representation of a waveform.
A simple sawtooth generator, as known to the art, comprises a constant current source, a capacitor, and a threshold detector. The constant current source charges the capacitor until a threshold voltage is reached, at which time the capacitor is discharged.
The traditional goal of such a generator is to provide a monotonic, linear ramp.
However, there may be circumstances where nonlinearities are desired. As an example, nonlinearities in a sawtooth waveform may be desired to compensate for nonlinearities in other parts of a system.
FIG. 2 shows an example nonlinear sawtooth waveform. While the waveform is monotonic, the slopes of segments 1, 2, 3, 4, and 5 are different.
One approach to generating such a waveform is by using an arbitrary waveform generator, shown in simplified form in FIG. 3. A clock drives a counter which indexes a memory device. The contents of the memory device representing waveform samples are fed to a digital to analog converter (D/A) which generates the waveform.
A substantial amount of circuitry is required to implement such an arbitrary waveform generator. Referring again to FIGS. 1 and 2, assume that an end-resolution of one part in 4096 (1 in 2^12, 12 bits) is desired.
To generate the waveform of FIG. 1, a D/A with 12-bit resolution is adequate.
For the waveform of FIG. 2, analysis shows that the D/A resolution is determined by the total span divided by the lowest slope. In FIG. 2, segment 2 has the lowest slope. If, for example, this segment has ¼ the slope of the linear waveform of FIG. 1, the D/A converter required for FIG. 2 must have 4 times the resolution, a 14-bit converter resolving 1 part in 16384. Not only is a 14-bit D/A converter more expensive than a 12-bit converter, a 14 bit wide memory is now required. Overall circuit layout and implementation is also more critical in order to keep circuit noise levels low enough so that one part in 16384 may be resolved accurately and reliably.